<?php

namespace App\Http\Controllers\admin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
class MessageController extends Controller
{
    /**
     *  后台信息管理模块
     */
    public function getIndex(Request $request)
    {
        // 接受搜索的关键字
        $search = $request -> input('search','');
       
        // 接受每页显示的条数
        $count = $request -> input('count',10);
        
        // 获取用户表(administrators)里面的数据信息
        $data = DB::table('message') -> where('fusername','like','%'.$search.'%') ->orWhere('susername','like','%'.$search.'%') -> orWhere('faid','like','%'.$search.'%') -> orderBy('time','desc') -> paginate($count);
        // 加载模板 并传数据
        return view('admin.message.index',['data'=>$data,'request'=>$request -> all()]);
    }

    /**
    *   后台信息删除
    */
    public function getDelete(Request $request)
    {
        // 获取要删除的信息ID
        $id = $request -> input('id');

        // 删除数据表中的数据
        $res = DB::table('message') -> where('id','=',$id) -> delete();

        // 判断返回的影响行数 把操作的结果压入session
        if ($res > 0) {
            return redirect('/admin/message/index') -> with('success','删除成功');
        } else {
            return back() -> with('error','删除失败');
        }

    }

    /**
    *   后台信息修改页面
    */
    public function getEdit(Request $request)
    {
        // 获取要删除的信息ID
        $id = $request -> input('id');
        
        // 获取表中ID为$id的数据
        $data = DB::table('message') -> where('id','=',$id) -> first();

        // 加载模板 并传数据
        return view('admin.message.edit',['data'=>$data]);
    }


    /**
    *   后台信息修改操作
    */
    public function postUpdate(Request $request)
    {   
        // 接受修改的信息和信息的ID
        $arr = $request -> except('_token');

        // 修改信息的内容
        $res = DB::table('message') -> where('id','=',$arr['id']) -> update(['content'=>$arr['content']]);

        // 判断返回的影响行数 把操作的结果压入session
        if ($res > 0) {
            return redirect('/admin/message/index') -> with('success','修改成功');
        } else {
            return back() -> with('error','修改失败');
        }
    }

    /**
    *   后台管理员发送公告页面
    */
    public function getAdd()
    {
        // 加载模板
        return view('admin.message.add');
    }

    /**
    *   后台管理员发送公告操作
    */
    public function postInsert(Request $request)
    {
         // 自动验证表单
        $this -> validate($request,[
            'content' => 'required',
        ],[
            'content.required' => '公告内容不能为空',
        ]);

        // 接受数据
        $arr = $request -> except('_token');

        // 发送的时间
        $arr['time'] = time();

        // 信息状态
        $arr['type'] = 1;

        // 往数据表里添加数据
        $res = DB::table('message') -> insert($arr);

        //处理结果
        if($res){
            return redirect('/admin/message/index') -> with('success','公告发送成功');
        }else{
            return back() -> with('error','公告发送失败');
        }
    }
}
